package com.tbit.common.entity.core;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户信息 - 用户画像
 * <br/>
 * 品牌ID、用户ID、性别、年龄、省市、体重、
 * 首次骑行时间、最后一次骑行时间、最后一次登录时间、最后一次骑行区域ID、
 * 骑行订单数、骑行订单金额、骑行里程数、骑行时间、
 * 总意见反馈次数、总订单费用申诉次数，数据更新时间
 *
 * @author: qiu.longjie
 * @create: 2025-04-26
 */
@Data
@TableName("user_info")
public class UserInfo implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long userInfoId;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 品牌id
     */
    private Integer brandId;

    /**
     * 区域id
     */
    private Integer accountId;

    /**
     * 省份
     */
    private String province;

    /**
     * 城市
     */
    private String city;

    /**
     * 区县
     */
    private String district;

    /**
     * 性别
     */
    private String sex;

    /**
     * 生日
     */
    private String birthDay;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 体重
     */
    private Integer weight;

    /**
     * 最后登录时间
     */
    private Date lastLoginTime;

    /**
     * 首次骑行时间
     */
    private Date firstRideTime;

    /**
     * 最后骑行时间
     */
    private Date lastRideTime;

    /**
     * 最后骑行区域ID
     */
    private Integer lastRideAccountId;

    /**
     * 骑行订单数
     */
    private Integer rideOrderCount;

    /**
     * 骑行订单金额 - 分
     */
    private Long rideOrderAmount;

    /**
     * 骑行里程数 - 米
     */
    private Long rideMileage;

    /**
     * 骑行时间-秒
     */
    private Long rideTime;

    /**
     * 总意见反馈次数
     */
    private Integer feedbackCount;

    /**
     * 总订单费用申诉次数
     */
    private Integer complaintCount;

    /**
     * 用户注册日期
     */
    private Date joinDate;

    /**
     * 用户注册时间
     */
    private Date joinTime;

    /**
     * 更新时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 备注
     */
    private String remark;

}